#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 1100
typedef struct BiTree
{
    int data[MAX_SIZE];
    int length;
}*BiTree;
BiTree CreateTree();
int Select(int i, int j);
int main()
{
    BiTree L;
    int i, j;
    L = CreateTree();
    scanf("%d%d", &i, &j);
    if(L->data[i]==0)
        printf("ERROR: T[%d] is NULL\n", i);
    else if(L->data[j]==0)
        printf("ERROR: T[%d] is NULL\n", j);
    else
        printf("%d %d\n", Select(i, j), L->data[Select(i, j)]);
    return 0;
}
BiTree CreateTree()
{
    int i, n;
    BiTree L;
    L = (BiTree)malloc(sizeof(struct BiTree));
    scanf("%d", &n);
    for(i=1; i<=n; i++)
    {
        scanf("%d", &L->data[i]);
    }
    L->length = n;
    return L;
}
int Select(int i, int j)
{
      while (i != j) {
        if (i > j) {
            i /= 2;
        } else {
            j /= 2;
        }
    }
    return i;
}
